#워드클라우드를 만들기 위한 패키지 설치 진행 과
import locale
locale.getpreferredencoding = lambda: "UTF-8"
# 도식화를 위한 패키지 설
!pip install kiwipiepy
!pip install pandas
!pip install seaborn
!pip install matplotlib
!pip install wordcloud
!pip install Pillow --upgrade
!pip install numpy
!sudo apt-get install -y fonts-nanum
!sudo fc-cache -fv
!rm ~/.cache/matplotlib -rf
Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/ Requirement already satisfied: kiwipiepy in /usr/local/lib/python3.10/dist-packages (0.15.1) Requirement already satisfied: dataclasses in /usr/local/lib/python3.10/dist-packages (from kiwipiepy) (0.6) Requirement already satisfied: kiwipiepy-model~=0.15 in /usr/local/lib/python3.10/dist-packages (from kiwipiepy) (0.15.0) Requirement already satisfied: numpy in /usr/local/lib/python3.10/dist-packages (from kiwipiepy) (1.22.4) Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from kiwipiepy) (4.65.0) Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/ Requirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (1.5.3) Requirement already satisfied: python-dateutil>=2.8.1 in /usr/local/lib/python3.10/dist-packages (from pandas) (2.8.2) Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas) (2022.7.1) Requirement already satisfied: numpy>=1.21.0 in /usr/local/lib/python3.10/dist-packages (from pandas) (1.22.4) Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.1->pandas) (1.16.0) Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/ Requirement already satisfied: seaborn in /usr/local/lib/python3.10/dist-packages (0.12.2) Requirement already satisfied: numpy!=1.24.0,>=1.17 in /usr/local/lib/python3.10/dist-packages (from seaborn) (1.22.4) Requirement already satisfied: pandas>=0.25 in /usr/local/lib/python3.10/dist-packages (from seaborn) (1.5.3) Requirement already satisfied: matplotlib!=3.6.1,>=3.1 in /usr/local/lib/python3.10/dist-packages (from seaborn) (3.7.1) Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib!=3.6.1,>=3.1->seaborn) (1.0.7) Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib!=3.6.1,>=3.1->seaborn) (0.11.0) Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib!=3.6.1,>=3.1->seaborn) (4.39.3) Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib!=3.6.1,>=3.1->seaborn) (1.4.4) Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib!=3.6.1,>=3.1->seaborn) (23.1) Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib!=3.6.1,>=3.1->seaborn) (9.5.0) Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib!=3.6.1,>=3.1->seaborn) (3.0.9) Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib!=3.6.1,>=3.1->seaborn) (2.8.2) Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=0.25->seaborn) (2022.7.1) Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.7->matplotlib!=3.6.1,>=3.1->seaborn) (1.16.0) Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/ Requirement already satisfied: matplotlib in /usr/local/lib/python3.10/dist-packages (3.7.1) Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib) (1.0.7) Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib) (0.11.0) Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib) (4.39.3) Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib) (1.4.4) Requirement already satisfied: numpy>=1.20 in /usr/local/lib/python3.10/dist-packages (from matplotlib) (1.22.4) Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib) (23.1) Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib) (9.5.0) Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib) (3.0.9) Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib) (2.8.2) Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.7->matplotlib) (1.16.0) Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/ Requirement already satisfied: wordcloud in /usr/local/lib/python3.10/dist-packages (1.8.2.2) Requirement already satisfied: numpy>=1.6.1 in /usr/local/lib/python3.10/dist-packages (from wordcloud) (1.22.4) Requirement already satisfied: pillow in /usr/local/lib/python3.10/dist-packages (from wordcloud) (9.5.0) Requirement already satisfied: matplotlib in /usr/local/lib/python3.10/dist-packages (from wordcloud) (3.7.1) Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->wordcloud) (1.0.7) Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib->wordcloud) (0.11.0) Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->wordcloud) (4.39.3) Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->wordcloud) (1.4.4) Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->wordcloud) (23.1) Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->wordcloud) (3.0.9) Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib->wordcloud) (2.8.2) Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.7->matplotlib->wordcloud) (1.16.0) Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/ Requirement already satisfied: Pillow in /usr/local/lib/python3.10/dist-packages (9.5.0) Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/ Requirement already satisfied: numpy in /usr/local/lib/python3.10/dist-packages (1.22.4) Reading package lists... Done Building dependency tree Reading state information... Done fonts-nanum is already the newest version (20180306-3). 0 upgraded, 0 newly installed, 0 to remove and 24 not upgraded. /usr/share/fonts: caching, new cache contents: 0 fonts, 1 dirs /usr/share/fonts/truetype: caching, new cache contents: 0 fonts, 3 dirs /usr/share/fonts/truetype/humor-sans: caching, new cache contents: 1 fonts, 0 dirs /usr/share/fonts/truetype/liberation: caching, new cache contents: 16 fonts, 0 dirs /usr/share/fonts/truetype/nanum: caching, new cache contents: 10 fonts, 0 dirs /usr/local/share/fonts: caching, new cache contents: 0 fonts, 0 dirs /root/.local/share/fonts: skipping, no such directory /root/.fonts: skipping, no such directory /usr/share/fonts/truetype: skipping, looped directory detected /usr/share/fonts/truetype/humor-sans: skipping, looped directory detected /usr/share/fonts/truetype/liberation: skipping, looped directory detected /usr/share/fonts/truetype/nanum: skipping, looped directory detected /var/cache/fontconfig: cleaning cache directory /root/.cache/fontconfig: not cleaning non-existent cache directory /root/.fontconfig: not cleaning non-existent cache directory fc-cache: succeeded
#드라이브 마운
from google.colab import drive
drive.mount('/content/drive')
Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount("/content/drive", force_remount=True).
#폴더안에 폴더 안에 파일 설정(심플)
thieves = open('drive/My Drive/class/5월 11일 테스트용 리뷰.txt', encoding='UTF-8').read()
print(thieves[:1000])
재밌 어요 드라마 로 도 나오 면 좋 겠 어요 가해자 에게 서사 를 만들 어 주 는 진짜 마음 이 불편 하 어 지 ᆫ 이야기 술술 읽히 어요 옥수수 수염 차 마시 고 싶 다 마음 이 따뜻 하 어 지 는 내용 들 인생 을 배우 었 어요 갈등 은 깊 고 해결 은 간단 하 어서 무슨 어린이 용 동화책 보 는 기분 불 호 따뜻 하 ᆫ 소설 재밌 게 보 었 어요 연극 으로 나오 면 보 러 가 ᆯ래 요 편 은 재밌 었 어요 편 이 아쉽 을 뿐 소소하 니 잔잔 하 ᆫ 감동 을 주 는 친근 하 ᆫ 소설 이 ᆸ니다 지루하 ᆷ 없이 사람 살 는 얘기 공감 하 는 기회 가 되 ᆫ 듯 비 현실 적 이 ᆫ 다정 하 ᆷ 에 마음 이 따뜻 하 어 지 ᆸ니다 친숙 하 ᆫ 공간 들 에서 인간관계 를 통하 어 서로 가 마음 을 나누 게 되 는 과정 이 따뜻하 네요 술술 읽히 네요 가볍 은 듯 무 거 울 ᆫ 이야기 같 어요 해석 하 기 에 따르 어 다르 ᆯ 것 같 네요 재밌 어요 가해자 의 마음 을 이해 하 어 주 고 가해자 를 다독이 어 주 고 가해자 에게 기회 를 주 는 불편 하 ᆫ 책 사랑 의 힘 은 부재 도 극복 되 는 힘 이 있 어 그 사랑 의 바통 을 타인 이 받 어서 채우 어 주 죠 감 가볍 게 읽 으려 선택 하 었 지만 가볍 지 않 은 마무리 의 책 각자 의 사정 이 다 있 다 진짜 인상 깊 은 책 마음 이 따뜻 하 어 지 었 어요 나 도 독고 씨 필요 하 어 요 한 번 에 주욱 읽 게 되 네요 불편 하 ᆫ 편의점 이 지만 꼭 한 번 가 어 보 고 싶 다는 묘 하 ᆫ 끌리 ᆷ 이 있 네요 읽 는 내내 따뜻 하 어 지 는 스토리 이 ᆸ니다 출퇴근 길 에 재미나 게 금방 읽 었 습니다 초반 반전 은 너무 비 현실 적 유튜브 로 처음 부분 을 접하 고 궁금 하 ᆷ 에 오랜만 에 책 을 읽 었 네요 술술 잘 읽히 는 착하 ᆫ 책 사람 들 은 각자 만 의 사정 이 있 다 예전 부터 베스트셀러 이 ᆫ 거 보 고 읽 어 보 었 는데 역시 베셀 은 베 셀 이 ᆫ
# ' ' 안에 있는 문자가 아니면 지워버리고 스페이스가 연속인경우도 지우기=>데이터 정제하기
import re
thieves = re.sub('[^가-힣]', ' ', thieves)
thieves = re.sub('[\s]+', ' ', thieves)
thieves = thieves.strip()
print(thieves[:1000])
재밌 어요 드라마 로 도 나오 면 좋 겠 어요 가해자 에게 서사 를 만들 어 주 는 진짜 마음 이 불편 하 어 지 이야기 술술 읽히 어요 옥수수 수염 차 마시 고 싶 다 마음 이 따뜻 하 어 지 는 내용 들 인생 을 배우 었 어요 갈등 은 깊 고 해결 은 간단 하 어서 무슨 어린이 용 동화책 보 는 기분 불 호 따뜻 하 소설 재밌 게 보 었 어요 연극 으로 나오 면 보 러 가 래 요 편 은 재밌 었 어요 편 이 아쉽 을 뿐 소소하 니 잔잔 하 감동 을 주 는 친근 하 소설 이 니다 지루하 없이 사람 살 는 얘기 공감 하 는 기회 가 되 듯 비 현실 적 이 다정 하 에 마음 이 따뜻 하 어 지 니다 친숙 하 공간 들 에서 인간관계 를 통하 어 서로 가 마음 을 나누 게 되 는 과정 이 따뜻하 네요 술술 읽히 네요 가볍 은 듯 무 거 울 이야기 같 어요 해석 하 기 에 따르 어 다르 것 같 네요 재밌 어요 가해자 의 마음 을 이해 하 어 주 고 가해자 를 다독이 어 주 고 가해자 에게 기회 를 주 는 불편 하 책 사랑 의 힘 은 부재 도 극복 되 는 힘 이 있 어 그 사랑 의 바통 을 타인 이 받 어서 채우 어 주 죠 감 가볍 게 읽 으려 선택 하 었 지만 가볍 지 않 은 마무리 의 책 각자 의 사정 이 다 있 다 진짜 인상 깊 은 책 마음 이 따뜻 하 어 지 었 어요 나 도 독고 씨 필요 하 어 요 한 번 에 주욱 읽 게 되 네요 불편 하 편의점 이 지만 꼭 한 번 가 어 보 고 싶 다는 묘 하 끌리 이 있 네요 읽 는 내내 따뜻 하 어 지 는 스토리 이 니다 출퇴근 길 에 재미나 게 금방 읽 었 습니다 초반 반전 은 너무 비 현실 적 유튜브 로 처음 부분 을 접하 고 궁금 하 에 오랜만 에 책 을 읽 었 네요 술술 잘 읽히 는 착하 책 사람 들 은 각자 만 의 사정 이 있 다 예전 부터 베스트셀러 이 거 보 고 읽 어 보 었 는데 역시 베셀 은 베 셀 이 이유 가 잇 는 법 흥미진진하 고 재미있 게 보 었 습니다 진정 하 주인공 은 선량 하 편의점 사장 님 이
#키위라는 클래스 단어와 형태소 분석 결과를 볼수있음
from kiwipiepy import Kiwi
kiwi = Kiwi()
posTagout = kiwi.tokenize(thieves)
sentencePOS = []
for eachOut in posTagout:
result = eachOut[0]+"/"+eachOut[1]
sentencePOS.append(result)
print(sentencePOS[:10])
['재밌/VA', '어요/EF', '드라마/NNG', '로/JKB', '도/JX', '나오/VV', '면/EC', '좋/VA', '겠/EP', '어요/EF']
#판다스를 이용해 리스
import pandas as pd
df_words = pd.DataFrame({'word':sentencePOS})
print(df_words[:10])
word 0 재밌/VA 1 어요/EF 2 드라마/NNG 3 로/JKB 4 도/JX 5 나오/VV 6 면/EC 7 좋/VA 8 겠/EP 9 어요/EF
#단어의 길이를 계산
df_words['count'] = df_words['word'].str.len()
print(df_words[:10])
word count 0 재밌/VA 5 1 어요/EF 5 2 드라마/NNG 7 3 로/JKB 5 4 도/JX 4 5 나오/VV 5 6 면/EC 4 7 좋/VA 4 8 겠/EP 4 9 어요/EF 5
# 5이상만 계산
df_words = df_words.query('count >= 5')
print(df_words.sort_values('count')[:10])
word count 0 재밌/VA 5 9392 하/XSA 5 9390 는/ETM 5 9387 하/XSA 5 9385 하/NNG 5 9384 대/XPN 5 9383 에/JKB 5 9382 하/NNG 5 9381 편/NNG 5 9380 는/ETM 5
#해당 단어들의 빈도수를 카운
df_words = df_words.groupby('word', as_index = False)
#
df_words = df_words.agg(n=('word', 'count'))
#내림차순으
df_words = df_words.sort_values('n', ascending = False)
print(df_words[:10])
word n 295 는/ETM 511 1140 이/JKS 353 1531 하/XSA 345 1124 을/JKO 285 1419 책/NNG 282 1133 의/JKG 263 1143 이/VCP 242 989 에/JKB 212 1120 은/ETM 192 1532 하/XSV 157
#상위권 30 단어 추출
top30 = df_words.head(30)
print(top30)
word n 295 는/ETM 511 1140 이/JKS 353 1531 하/XSA 345 1124 을/JKO 285 1419 책/NNG 282 1133 의/JKG 263 1143 이/VCP 242 989 에/JKB 212 1120 은/ETM 192 1532 하/XSV 157 723 사람/NNG 147 313 다/MAG 147 1164 이야기/NNG 145 455 따뜻/XR 144 969 어요/EF 142 441 들/XSN 133 7 가/JKS 125 503 를/JKO 125 511 마음/NNG 119 270 네요/EF 110 1529 하/NNG 104 1262 재밌/VA 97 1502 편의점/NNG 95 81 것/NNB 94 698 불편/NNG 91 834 수/NNB 91 187 기/ETN 83 1207 읽히/VV 81 1239 잘/MAG 76 870 습니다/EF 72
#표 시각화 폰트 설정 그림의 크기 해상도 설정 런타임 다
import seaborn as sns
import matplotlib.pyplot as plt
plt.rcParams.update({'font.family':'NanumBarunGothic'})
plt.rcParams.update({'figure.dpi':'120'})
plt.rcParams.update({'figure.figsize':[6.5,6]})
sns.barplot(data = top30, y = 'word', x = 'n')
<Axes: xlabel='n', ylabel='word'>
#딕셔너리의 형태로 변환 for 문을 사용해 단어개수 설정
df_words_dic = df_words.set_index('word').to_dict()['n']
dictNum = 0
for key, value in df_words_dic.items():
print(key, ":", value)
dictNum += 1
if dictNum == 30:
break
는/ETM : 511 이/JKS : 353 하/XSA : 345 을/JKO : 285 책/NNG : 282 의/JKG : 263 이/VCP : 242 에/JKB : 212 은/ETM : 192 하/XSV : 157 사람/NNG : 147 다/MAG : 147 이야기/NNG : 145 따뜻/XR : 144 어요/EF : 142 들/XSN : 133 가/JKS : 125 를/JKO : 125 마음/NNG : 119 네요/EF : 110 하/NNG : 104 재밌/VA : 97 편의점/NNG : 95 것/NNB : 94 불편/NNG : 91 수/NNB : 91 기/ETN : 83 읽히/VV : 81 잘/MAG : 76 습니다/EF : 72
from wordcloud import WordCloud
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
#폰트 설정 가능
font = 'drive/My Drive/class/DoHyeon-Regular.ttf'
word_cloud = WordCloud(font_path = font,
width = 2000, height = 1000,
background_color='white')
word_cloud.generate_from_frequencies(df_words_dic)
plt.figure(figsize=(30,30))
plt.imshow(word_cloud)
plt.axis("off")
plt.tight_layout(pad=0)
plt.show()
from kiwipiepy import Kiwi
#if문 조건 설정 단어의 품사를 설정해 해당 품사만
kiwi = Kiwi()
posTagout = kiwi.tokenize(thieves)
sentencePOS = []
for eachOut in posTagout:
if "VV" in eachOut[1] or "VA" in eachOut[1] or "NN" in eachOut[1]:
result = eachOut[0]+"/"+eachOut[1]
sentencePOS.append(result)
print(sentencePOS[:10])
['재밌/VA', '드라마/NNG', '나오/VV', '좋/VA', '가해자/NNG', '서사/NNG', '만들/VV', '마음/NNG', '불편/NNG', '이야기/NNG']
#같음
import pandas as pd
df_words = pd.DataFrame({'word':sentencePOS})
print(df_words[:10])
word 0 재밌/VA 1 드라마/NNG 2 나오/VV 3 좋/VA 4 가해자/NNG 5 서사/NNG 6 만들/VV 7 마음/NNG 8 불편/NNG 9 이야기/NNG
# 같
df_words['count'] = df_words['word'].str.len()
#
df_words = df_words.query('count >= 2')
#
df_words = df_words.groupby('word', as_index = False)
#
df_words = df_words.agg(n=('word', 'count'))
#
df_words = df_words.sort_values('n', ascending = False)
print(df_words[:10])
word n 913 읽/VV 291 1088 책/NNG 282 549 사람/NNG 147 875 이야기/NNG 145 1194 하/VV 137 371 마음/NNG 119 921 있/VA 118 315 되/VV 112 1191 하/NNG 104 961 재밌/VA 97
#해당 결과를 통해 유추해볼수있
top30 = df_words.head(30)
print(top30)
import seaborn as sns
import matplotlib.pyplot as plt
plt.rcParams.update({'font.family':'NanumBarunGothic'})
plt.rcParams.update({'figure.dpi':'120'})
plt.rcParams.update({'figure.figsize':[6.5,6]})
sns.barplot(data = top30, y = 'word', x = 'n')
word n 913 읽/VV 291 1088 책/NNG 282 549 사람/NNG 147 875 이야기/NNG 145 1194 하/VV 137 371 마음/NNG 119 921 있/VA 118 315 되/VV 112 1191 하/NNG 104 961 재밌/VA 97 1166 편의점/NNG 95 59 것/NNB 94 526 불편/NNG 91 644 수/NNB 91 1002 좋/VA 83 915 읽히/VV 81 500 보/VV 77 569 삶/NNG 70 37 같/VA 67 622 소설/NNG 56 922 있/VV 51 25 감동/NNG 51 1 가/VV 50 102 관계/NNG 50 585 생각/NNG 48 288 독고/NNP 47 44 거/NNB 40 5 가볍/VA-I 39 564 살/VV 39 633 소통/NNG 37
<Axes: xlabel='n', ylabel='word'>
#
df_words_dic = df_words.set_index('word').to_dict()['n']
dictNum = 0
for key, value in df_words_dic.items():
print(key, ":", value)
dictNum += 1
if dictNum == 15:
break
읽/VV : 291 책/NNG : 282 사람/NNG : 147 이야기/NNG : 145 하/VV : 137 마음/NNG : 119 있/VA : 118 되/VV : 112 하/NNG : 104 재밌/VA : 97 편의점/NNG : 95 것/NNB : 94 불편/NNG : 91 수/NNB : 91 좋/VA : 83
from wordcloud import WordCloud
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
font = 'drive/My Drive/class/DoHyeon-Regular.ttf'
word_cloud = WordCloud(font_path = font,
width = 2000, height = 1000,
background_color='white')
word_cloud.generate_from_frequencies(df_words_dic)
plt.figure(figsize=(15,15))
plt.imshow(word_cloud)
plt.axis("off")
plt.tight_layout(pad=0)
plt.show()
#다른 모양도 가능
import PIL
icon = PIL.Image.open('drive/My Drive/class/cloud.png')
#rgb로 색깔을 설정가능
import numpy as np
img = PIL.Image.new('RGB', icon.size, (255, 255, 255))
img.paste(icon, icon)
img = np.array(img)
#윤관 따오기 방법은 동
word_cloud = WordCloud(random_state = 1234,
font_path = font,
width = 1000, height = 700,
background_color='white',
mask = img)
img_word_cloud = word_cloud.generate_from_frequencies(df_words_dic)
plt.figure(figsize=(15,15))
plt.imshow(img_word_cloud)
plt.axis("off")
plt.tight_layout(pad=0)
plt.show()
# 해당 텍스트의 문맥을 볼수있
# 말뭉치 가져오기
from kiwipiepy import Kiwi
kiwi = Kiwi()
sentences = kiwi.split_into_sents(thieves)
output = open("drive/My Drive/class/5월 11일 테스트용 리뷰.txt", 'w', encoding='utf-8')
sentencesText = ""
for sentence in sentences:
#
eachPOSSentence = ""
posTagout = kiwi.tokenize(sentence.text)
for eachOut in posTagout:
eachPOSSentence = eachPOSSentence + " " + eachOut[0]
output.write(eachPOSSentence + "\n")
sentencesText = sentencesText + "\n" + eachPOSSentence
print(sentencesText[:100])
output.close()
재밌 어요 드라마 로 도 나오 면 좋 겠 어요 가해자 에게 서사 를 만들 어 주 는 진짜 마음 이 불편 하 어 지 이야기 술술 읽히 어요 옥수수 수염 차 마시 고 싶 다 마
# nltk 클래스안에 기능 사옹하기위해 설치
!pip install nltk
Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/ Requirement already satisfied: nltk in /usr/local/lib/python3.10/dist-packages (3.8.1) Requirement already satisfied: click in /usr/local/lib/python3.10/dist-packages (from nltk) (8.1.3) Requirement already satisfied: joblib in /usr/local/lib/python3.10/dist-packages (from nltk) (1.2.0) Requirement already satisfied: regex>=2021.8.3 in /usr/local/lib/python3.10/dist-packages (from nltk) (2022.10.31) Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from nltk) (4.65.0)
# * = 모든 함수를 다 사용하겠다
from nltk import *
retokenize = RegexpTokenizer("[\w]+")
text = Text(retokenize.tokenize(sentencesText))
text.concordance("드라마")
Displaying 19 of 19 matches: 재밌 어요 드라마 로 도 나오 면 좋 겠 어요 가해자 에게 서사 를 만들 어 주 는 속 각자 해결 하 어 나아가 는 방식 의 차이 가 재밌 었 던 작품 드라마 로 나오 면 정 주행 하 겟 습니다 가만히 들여다보 는 조용 하 고 재밌 네요 근데 페이지 수 가 거의 저 의 인내 를 드뎌 완독요 곧 드라마 로 만들 어 지 것 같 어요 사람 들 은 따뜻 하 이야기 를 좋아하 면 어떻 을까 지루 하 거나 쳐지 없이 술술 읽히 어요 재밌 습니다 드라마 로 나오 었 으면 좋 겠 네요 탄도 기대 중 결국 삶 은 관계 이 니 다 불편 하 편의점 이 편안 하 편의점 으로 바뀌 는 순간 들 드라마 로 나오 어도 정말 재미있 을 듯 하 니 이 다 근데 세상 이 원래 많 고 술술 잘 읽히 었 어요 너무 편안 하 게 읽 을 수 있 는 드라마 한 편 을 보 는 듯 하 힐링 하 면서 읽 은 책 만 병 통치 옥수 읽 을 수 있 으며 일상 적 이 스토리 가 너무 좋 었 어요 반전 드라마 를 보 는 기분 연결 성 이 엄청 나 어서 몰입 이 되 는 내용 이 그럼 그냥 평범 살 어 내 는 법 살아가 는 법 삶 을 살 는 법 드라마 로 만나 고 싶 어요 재미있 고 다음 의 이야기 가 어떻 게 되 지 이 인상 적 이 었 어요 오디오북 으로 처음 오 어 독하 책 라디오 드라마 보 는 느낌 이 었 어요 불편 하 편의점 이 지만 독자 이 저 도 삶 은 관계 이 고 관계 는 소통 이 다 깨달음 을 얻 었 습니다 드라마 로 나오 어도 잘 보 거 같 어요 독고 와 함께 치유 잠 이 오 지 스토리 를 통하 어 사람 냄새 나 는 감동 을 주 어 좋 어요 완전 드라마 보 는 듯 하 소설 이 네 요 설레이 는 마음 으로 후다닥 읽 었 기 하 지만 재밌 습니다 삶 은 관계 이 며 관계 는 소통 이 다 드라마 나 의 아저씨 가 생각나 어 어른 이 또 다른 어른 을 지키 어 주 다른 이 에게 돌려주 는 마음 마음 이 따뜻 하 어 지 는 책 왠지 드라마 로 만들 어 지 것 같 은 느낌 결국 그 도 자신 을 찾 어 헤매 않 은 편의점 이야기 다양 하 인생 쉽 게 읽히 었 어요 한 편 의 드라마 를 보 것 같 네요 삶 은 살아가 는 것 이 다 그리고 강 은 건너 는 소통 이 다 이 이 라는 글귀 가 공감 이 되 었 어여 영화 나 드라마 처럼 빠지 어서 한 권 다 쭉 읽 었 네요 해리포터 이후 로 처음 고 베 푸 줄 알 는 사람 이 되 어야 겠 다는 생각 이 들 었 다 드라마 보 듯이 술술 완 독 이 이 요 술술 편안 하 게 읽 다 보 면 나 하 는 것 이 삶 삶 은 어떻 게 든 의미 를 가지 며 계속 되 다 드라마 한 편 보 느낌 잔잔 하 면서 깊 은 감동 이 었 어요 가볍 게 시 다 끝 까지 읽 게 만들 는 책 이 니 이 다 클리셰 가득 하 옛날 드라마 한 편 보 느낌 이 네요 여운 이 남 는 책 누구 보다 책 을 많이 잘 살 어 있 는 따뜻 하 이야기 쉽 게 읽 을 수 있 는 따듯하 드라마 순식간 에 읽 어 버리 었 습니다 잘 읽 어 지 는 내용 이 지만
text.concordance("따뜻")
Displaying 25 of 144 matches: 지 이야기 술술 읽히 어요 옥수수 수염 차 마시 고 싶 다 마음 이 따뜻 하 어 지 는 내용 들 인생 을 배우 었 어요 갈등 은 깊 고 해결 해결 은 간단 하 어서 무슨 어린이 용 동화책 보 는 기분 불 호 따뜻 하 소설 재밌 게 보 었 어요 연극 으로 나오 면 보 러 가 래 요 공감 하 는 기회 가 되 듯 비 현실 적 이 다정 하 에 마음 이 따뜻 하 어 지 니 다 친숙 하 공간 들 에서 인간관계 를 통하 어 서로 의 책 각자 의 사정 이 다 있 다 진짜 인상 깊 은 책 마음 이 따뜻 하 어 지 었 어요 나 도 독고 씨 필요 하 어 요 한 번 에 주욱 한 번 가 어 보 고 싶 다는 묘 하 끌리 이 있 네요 읽 는 내내 따뜻 하 어 지 는 스토리 이 니 다 출퇴근 길 에 재미나 게 금방 읽 읽 을수록 마음 이 편하 어 지 는 편의점 이야기 마음 이 너무나 따뜻 하 어 지 는 얘기 이 니 다 완벽 하 었 다 묘하 게 공감 되 는 를 드뎌 완독요 곧 드라마 로 만들 어 지 것 같 어요 사람 들 은 따뜻 하 이야기 를 좋아하 니까 마지막 은 좀 아쉽 었 지만 재밌 게 술 지막 은 다소 작위 적 이 라 개연 성 이 떨어지 어서 아쉽 어 요 따뜻 하 소설 이 이 니 다 세상 은 혼자 살아가 는 것 이 아니 다 함 었 는데 감동 에 눈물 이 자꾸 나 이 니 다 재밌 어요 마음 이 따뜻 하 어 지 고 나 자신 을 돌아보 게 되 네요 많 은 사람 들 이 에 장르 가 바뀌 는 느낌 이 라 당황 하 었 어요 술술 읽히 는 따뜻 하 이야기 망가지 고 고통 스럽 은 사람 들 끼리 서로 를 위 로 로 를 고치 는 것 이 정말 감동 적 이 이 었 다 중독 성 있 는 따뜻 하 이야기 한번 시작 하 면 멈추 수 없 네요 재밌 게 읽 었 어요 었 다 현실 과 는 동떨어지 꿈 이나 동화 같 은 이야기 마음 이 따뜻 하 어 지 는 술술 읽히 고 정 이 가 는 책 요즘 같 은 냉정 하 이야기 로 편하 게 보 다가 엔딩 에서 불편 하 어 지 책 마음 이 따뜻 하 어 지 는 개개인 의 사연 들 캐릭터 들 의 사연 이 엮이 는 들 을 잃 지 말 ᆯ 시 기 재밌 어요 이 세상 모든 독고 들 을 따뜻 하 마음 으로 응원 하 니 다 십 년 만 에 책 이 란 거 루 읽 을 깨우치 게 하 다 술술 읽히 는 책 재미 있 게 읽 었 습니다 따뜻 하 책 같 은 이유 로 싫 어 지 었 다가 좋 어 지 기 도 하 는 장인물 의 갈등 으로 인하 어 답답 하 지만 결론 적 으로 마음 이 따뜻 하 어 지 는 책 너무나 도 시간 가 는 줄 모르 고 읽 은 책 소 게 되 었 습니다 관계 에서 오 는 갈등 과 인생 의 문제 들 이 따뜻 하 말 과 작 은 도움 으로 해결 따땃 하 책 독고 씨 가 그런 사 배경 으로 하 어서 그렇 지 더 몰입 하 어서 재밌 게 읽 었 어요 따뜻 하 고 마음 을 녹이 어 주 는 책 편의점 알바 하 었 을 때 가 표현 들 이 인상 적 너무 흥미 롭 어서 금새 읽 었 다 마음 이 따뜻 하 어 지 었 어요 불편 하 편의점 속 의 인물 들 의 이야기 와 님 의 이야기 는 정말 많 은 생각 을 하 게 되 었 어요 마음 이 따뜻 하 고 뭉클 하 이야기 독고 씨 옥수수 수염 차 불편 하 편의점 하 람 은 없 다 후속 편 이 궁금 하 니 다 바삐 살아가 던 나 에게 따뜻 하 ᆷ 으르 느끼 하 게 하 어 주 책 쉽 게 읽히 는 책 앉 은 고 마음 에 오 어 닿 는다 편 이 기대 되 다 독고 의 뒷이야기 따뜻 하 우리 이웃 들 의 이야기 이 라서 좋 어요 세상 은 아직 사 만 어요 세상 은 아직 사 만 하 고 ᆺ 감동 적 이 소설 이 니 다 따뜻 하 이야기 출근길 일 만 에 다 읽 었 네요 재미있 어요 일만 에 하 어 주 책 불편 하 다는 것 이 때로 는 사람 을 의 마음 을 따뜻 하 게 하 수 도 있 지 않 나 생각 하 게 하 네요 삶 에 위로 이 어디 에서 나 보 수 있 는 서민 들 의 이야기 이 라 조금 더 따뜻 하 게 오 어 닿 었 다 가볍 게 읽 을 수 도 있 고 진지 하 게
text.concordance("재밌")
Displaying 25 of 97 matches: 재밌 어요 드라마 로 도 나오 면 좋 겠 어요 가해자 에게 서사 를 만들 하 어서 무슨 어린이 용 동화책 보 는 기분 불 호 따뜻 하 소설 재밌 게 보 었 어요 연극 으로 나오 면 보 러 가 래 요 편 은 재밌 재밌 게 보 었 어요 연극 으로 나오 면 보 러 가 래 요 편 은 재밌 었 어요 편 이 아쉽 을 뿐 소소하 니 잔잔 하 감동 을 주 는 친 울 ᆯ 이야기 같 어요 해석 하 기 에 따르 어 다르 것 같 네요 재밌 어요 가해자 의 마음 을 이해 하 어 주 고 가해자 를 다독이 어 라는 캐릭터 의 매력 에 스며들 면서 몰입 하 어서 읽 게 되 는 재밌 는 책 독고 는 고독 하 지 않 었 다 반전 있 는 서사 와 따수운 듣 다가 감질 나 어서 전자책 으로 후다닥 읽 어 ᆻ 내 어요 너무 재밌 습니다 넘 재밌 어서 완전 빠져들 어서 다 읽 었 네요 읽 을수록 어서 전자책 으로 후다닥 읽 어 ᆻ 내 어요 너무 재밌 습니다 넘 재밌 어서 완전 빠져들 어서 다 읽 었 네요 읽 을수록 마음 이 편하 어 는 에피소드 들 속 각자 해결 하 어 나아가 는 방식 의 차이 가 재밌 었 던 작품 드라마 로 나오 면 정 주행 하 겟 습니다 가만히 들여 고 캐릭터 성격 은 비 현실 적 이 가 어 어 쓰 것 같 지만 도 재밌 게 읽 은 소설 따뜻하 고 뭉클 하 소설 빠르 게 술술 읽히 는 문 옥수수 수염 차 묘사 의 힘 을 극찬 하 어서 읽 게 되 었 는데 재밌 네요 근데 페이지 수 가 거의 저 의 인내 를 드뎌 완독요 곧 드라 들 은 따뜻 하 이야기 를 좋아하 니까 마지막 은 좀 아쉽 었 지만 재밌 게 술술 읽 었 어요 간만에 완 독 하 작품 술술 읽히 다 라디오 내밀 어 보 면 어떻 을까 지루 하 거나 쳐지 없이 술술 읽히 어요 재밌 습니다 드라마 로 나오 었 으면 좋 겠 네요 탄도 기대 중 결국 삶 이야기 절반 정도 읽 었 는데 감동 에 눈물 이 자꾸 나 이 니 다 재밌 어요 마음 이 따뜻 하 어 지 고 나 자신 을 돌아보 게 되 네요 은 오디오 로 듣 고 있 다 우연 이 모이 어 인연 이 되 는 순간 재밌 어요 오랜만 에 책 읽 는 데 잘 읽히 네요 사람 냄새 나 는 이야 중독 성 있 는 따뜻 하 이야기 한번 시작 하 면 멈추 수 없 네요 재밌 게 읽 었 어요 독고 가 사람 들 에게 위로 를 주 줄 알 었 는데 하 마음 을 나누 어 주 는 불편 하 이야기 편하 게 술술 읽히 는 재밌 는 책 단순 하 편의점 안 에서 사람 들 이 살아가 는 재미 를 읽 하 감동 을 주 는 모두 소중하 사람 들 을 잃 지 말 ᆯ 시 기 재밌 어요 이 세상 모든 독고 들 을 따뜻 하 마음 으로 응원 하 니 다 재 미 이 있 어 요 웃 다그 어 울 다가 마지막 에 오열콤보 너무 재밌 어요 평소 책 을 읽 지 않 어 베스트 중 에 고르 어서 읽 었 는 씨 가 그런 사람 이 었 다니 불편 하 네요 불편 하 편의점 정말 재밌 게 잘 읽 었 습니다 마음 의 감동 을 주 는 책 꼭 읽 어 보 세 가 는 실제 동네 를 배경 으로 하 어서 그렇 지 더 몰입 하 어서 재밌 게 읽 었 어요 따뜻 하 고 마음 을 녹이 어 주 는 책 편의점 알 하 편의점 속 의 인물 들 의 이야기 와 힐링 이 담기 어 있 다 재밌 는 스토리텔링 이 인상 적 이 다 삶 은 관계 속 의 소통 행복 은 술 읽히 이제 읽 기 시작 하 독서 초보 이 데 주일 걸리 었 네요 재밌 어서 짬 나 때 마다 계속 보 게 되 요 불편 하 다고 하 었 지만 가 멀 ᆯ 사람 이 데 다 읽 는 데 오래 걸리 지 않 을 정도 로 재밌 게 읽 었 어요 한 사람 한 사람 에게 이 입 하 면서 보 었 네요 하 면 술술 읽히 어요 너무 재미있 어요 편의점 이 라는 공간 도 재밌 네요 원플러스원 은 계속 되 어야 하 다 술술 읽히 는 힐링 되 는 이 고 관계 는 소통 이 다 재밋네 용 일 만 에 다 읽 었 어요 재밌 어서 시간 가 는 줄 모르 고 보 었 어요 여러 사건 이 이어지 어
text.concordance("감동")
Displaying 25 of 51 matches: 래 요 편 은 재밌 었 어요 편 이 아쉽 을 뿐 소소하 니 잔잔 하 감동 을 주 는 친근 하 소설 이 이 니 다 지루하 없이 사람 살 는 얘 어요 듣 으며 인생 상담 하 듯 잔잔 하 다 빵 터지 는 반전 과 감동 끝 까지 따뜻하 다 이야기 가 진행 되 수록 독고 이 라는 캐릭터 살아가 는 사람 들 간 의 내밀 하 이야기 절반 정도 읽 었 는데 감동 에 눈물 이 자꾸 나 이 니 다 재밌 어요 마음 이 따뜻 하 어 지 나 는 이야기 몇 페이지 읽 다 보 니 어느새 끝 까지 읽 었 다 감동 도 있 고 재미 도 있 구 다 그렇 게 문제 의 답 을 구하 듯 살 사람 들 끼리 서로 를 위 로 하 고 서로 를 고치 는 것 이 정말 감동 적 이 이 었 다 중독 성 있 는 따뜻 하 이야기 한번 시작 하 면 연 도 너무 나 있 을 법 하 동화 같 은 이야기 이 네요 잔잔 하 감동 을 주 는 모두 소중하 사람 들 을 잃 지 말 ᆯ 시 기 재밌 어요 하 네요 불편 하 편의점 정말 재밌 게 잘 읽 었 습니다 마음 의 감동 을 주 는 책 꼭 읽 어 보 세 요 자주 가 는 실제 동네 를 배경 웃 들 의 이야기 이 라서 좋 어요 세상 은 아직 사 만 하 고 ᆺ 감동 적 이 소설 이 니 다 따뜻 하 이야기 출근길 일 만 에 다 읽 었 요 삶 에 위로 가 되 는 책 이 네요 가슴 이 뭉클 하 어 지 는 감동 이 있 어요 너무 재밌 어서 이 라면 먹 듯 순식간 에 후루룩 읽 너무 재밌 어요 다양 하 사람 들 의 삶 의 이야기 를 재미있 고 감동 적 으로 녹이 어 놓 어서 즐겁 게 읽 었 어요 막히 없이 읽히 는 은 변하 다 인생 학교 는 그래서 시련 이 이 라는 교사 를 두 다 감동 적 이 고 왜 많이 읽히 는지 알 겠 음 나 가 불편 하 어야 나 시기 를 잘 표현 하 작품 이 거 같 고 이야기 들 을 통하 어서 감동 을 전달 하 어 주 다 나 의 눈물 버저 가 되 었 네요 권 도 읽 나 어 서로 의 손 님 제일 기억 에 남 는 문장 이 니 다 편 하 감동 하지만 불편 하 마음 누구 이 가 를 나 가 정하 어 놓 은 시선 습 에 반성 을 줌 눈물 이 멈추 지 않 는 책 이 었 네요 가슴속 감동 이 아직 도 남 어 있 네요 잘 읽 었 습니다 나 의 인생 책 얼마 단숨에 권 까지 왜 이 책 이 베스트셀러 이 지 나름 의 잣대 로 감동 의 소용돌이 를 겪 고 있 네요 소설책 은 지루 하 어서 절대 안 이 누구 이 가 에게 크 위로 가 되 수 도 다시 읽 어도 따뜻 하 감동 이 마음 뭉클 하 게 전하 어 지 는 이야기 가볍 게 읽히 고 다양 이 훈훈 하 이야기 이 었 네요 잘 읽 고 가 니 다 술술 읽히 고 감동 재미 가 모두 들 어 있 는 책 잘 읽히 고 재미 와 감동 도 있 읽히 고 감동 재미 가 모두 들 어 있 는 책 잘 읽히 고 재미 와 감동 도 있 네요 재밌 다 잔잔하 옆 동네 이야기 처럼 감동 웃음 생각 고 재미 와 감동 도 있 네요 재밌 다 잔잔하 옆 동네 이야기 처럼 감동 웃음 생각 이 많 은 기분 좋 은 글 읽 게 되 어 영광 이 니 다 계속 들르 고 싶 은 곳 이 었 어요 바로 완 독 하 게 만드 는 감동 적 이 책 이 다 여운 이 많이 남 고 생각 도 많이 하 게 되 는 삶 을 엿보 수 있 었 던 다양 하 사람 들 이 살아가 는 이야기 감동 적 이 었 습니다 따뜻 하 이야기 사람 을 어떻 게 대하 어야 하 그 자체 인류애 를 채우 수 있 는 책 재미있 게 잘 읽 었 습니다 감동 과 재미 가 다 들 어 있 는 책 앞뒤 가 딱 맞 는 구성 과 따뜻 들 어 있 는 책 앞뒤 가 딱 맞 는 구성 과 따뜻 하 이야기 에 감동 이 절로 나오 니 다 가족 의 소중 하 문 을 열 기 위하 어서 는 는 모습 이 고스란히 담기 따뜻하 글 이 네요 재밌 습니다 잔잔 하 감동 을 느끼 고 눈물 흘리 며 마음 이 따뜻 하 어 지 을 느끼 게 하 을 살리 는 거 사람 마음 에 뭐 이 가 찡 하 게 남기 어 주 는 감동 최고 마음 이 따뜻 하 어 지 고 여운 이 나 ᆷ 네 요 옥수수 수
text.dispersion_plot(("마음", "따뜻", "재밌","불편"))
#어디서 등장하는지 볼수있음 그러나 신뢰하지 못함
text.similar("재미")
이야기 위로 마음 내용 가 듯 생각 차이 묘사 기대 관계 행복 영화 거리 주의 상처 악의 속도 변화 호의
text.similar("따뜻")
불편 잔잔 다양 편안 생각 감사 이해 필요 궁금 추천 소통 소중 소소 편 다정 뭉클 행복 특별 평범 따듯